.demo{
    padding: 4em 0;
}
.box{
    position: relative;
    perspective: 1000px;
}
.box .box-img{
    transform: rotateY(0);
    transition: all 0.50s ease-in-out 0s;
}
.box:hover .box-img{
    transform: rotateY(-90deg);
}
.box .box-img img{
    width: 100%;
    height: auto;
}
.box .box-content{
    width: 100%;
    height: 100%;
    position: absolute;
    top: -30px;
    left: 0;
    padding: 60px 20px;
    text-align: center;
    background: rgba(0,0,0,0.7);
    transform: rotateY(90deg);
    transition: all 0.50s ease-in-out 0s;
}
.box:hover .box-content{
    transform: rotateY(0);
}
.box .title{
    font-size: 20px;
    color: #fff;
    text-transform: uppercase;
}
.box .description{
    font-size: 14px;
    line-height: 24px;
    color: #fff;
}
.box .title:after,
.box .description:after{
    content: "";
    width: 80%;
    display: block;
    border-bottom: 1px solid #fff;
    margin: 15px auto;
}

@media only screen and (max-width: 990px) {
    .box{  margin-bottom:20px; }
}
@media only screen and (max-width: 479px) {
    .box .box-content{ padding: 20px; }
}

.container {
	margin-right: auto;
	margin-left: auto;
	padding-left: 15px;
	padding-right: 15px
}
@media (min-width:1200px) {
	.container {
		width: 1170px
	}
}
.container-fluid {
	margin-right: auto;
	margin-left: auto;
	padding-left: 15px;
	padding-right: 15px
}
.row {
	margin-left: -15px;
	margin-right: -15px
}
.col-md-4,
.col-sm-6 {
	position: relative;
	min-height: 1px;
	padding-left: 15px;
	padding-right: 15px
}
@media (min-width:768px) {
    .col-sm-6 {
        float: left
    }
}
@media (min-width:992px) {
	.col-md-4 {
		float: left
	}
	.col-md-4 {
		width: 25%
	}
}
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after {
	content: " ";
	display: table
}
.container:after,
.container-fluid:after,
.row:after {
	clear: both
}
